//--------------------------------------------------------------------------------------------------------
// 
// Author: Zachary Gay
// Date: 8/23/2012
// Copyright (c) 2012 Zachary Gay.  All Rights Reserved.
//
// Filename: GameController.h
// Description:  The GameController is one of the app's main classes.  It is a singleton class 
//                  that handles the logic for playing through each of the games and keeps track 
//                  of all cards and their locations during play.
//
//--------------------------------------------------------------------------------------------------------

#import <Foundation/Foundation.h>

#import "ManaGroup.h"

@interface GameController : NSObject
{
    // Games
    int currentGame;
    int numberOfGames;
    
    // Turns
    int currentTurn;
    int numberOfTurns;
}

// Card Locations
@property (nonatomic, strong) NSMutableArray *deck;
@property (nonatomic, strong) NSMutableArray *hand;
@property (nonatomic, strong) NSMutableArray *graveyard;
@property (nonatomic, strong) NSMutableArray *board;

@property (nonatomic, strong) ManaGroup *manaPool;

// Singleton Access & Constructor
- (GameController *) initWithNumberOfTurns: (int) _numberOfTurns;
+ (GameController *) theGameController;

// Main
- (void) playAllGames;

@end
